package 剑指专题.排序;


/*
 * Author：江松
 * Date：2023/3/31 20:36
 *
 最小的k个数：要求空间O(n),时间O(nlogk)
 1，使用优先队列
 2,排序
 */

import java.util.ArrayList;
import java.util.PriorityQueue;

public class Main3 {
    public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
        ArrayList<Integer>res=new ArrayList<>();
        //默认小顶堆
        PriorityQueue<Integer>queue=new PriorityQueue<>();
        for(int i:input){
            queue.offer(i);
        }
        while(k-->0){
            res.add(queue.poll());
        }
        return res;
    }
}
